Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

ВИВЧЕННЯ ТА ДОСЛІДЖЕННЯ АЛГОРИТМІВ ШИФРУВАННЯ РЮКЗАКА

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Криптографічні системи та протоколи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ З В І Т до лабораторної роботи №4 з курсу: «КРИПТОГРАФІЧНІ СИСТЕМИ ТА ПРОТОКОЛИ» на тему: «ВИВЧЕННЯ ТА ДОСЛІДЖЕННЯ АЛГОРИТМІВ ШИФРУВАННЯ РЮКЗАКА» Мета роботи – навчитися практично використовувати алгоритми шифрування рюкзака і розробляти програмне забезпечення для реалізації цих алгоритмів. Завдання 1) Ввести в комп'ютер програми згідно із завданням. 2) Відлагодити програми. При необхідності скоригувати блок-схеми алгоритмів та програми у відповідності з виявленими логічними та синтаксичними помилками. 3) Остаточні версії блок-схем, програм та отримані результати оформити у звіті з лабораторної роботи. 4) Здати звіт з лабораторної роботи. Блок-схеми алгоритмів class Program void Main( ) class Knapsack () void Decipher () void Encipher () ні так Остаточна версія програми using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lab_4_Kre { class Program { static void Main(string[] args) { Knapsack K = new Knapsack(); K.Encipher(); Console.ReadLine(); K.Decipher(); Console.ReadLine(); } } class Knapsack { public int i, h = 0, sum = 0, c = 11, k; public bool flag = true; int n = 23, m = 49; int n_inv = 2, bufr; public void Encipher() { string ptext = " Embrace life, always wear your seat belt"; int[] Key = new int[] { 1, 3, 7, 10, 13, 16, 19, 21, 26, 30, 34, 38 }; Console.WriteLine("------------------------------Knapsack cipher----------------------------\nENCODE\nEnter your plaintext : " + ptext); ptext.ToArray(); Console.Write("\nEnter your public key : "); for (int i = 0; i < Key.Length; i++) { Console.Write(Key[i] + " "); } for (int i = 0; i < Key.Length; i++) { Key[i] *= n; while (Key[i] - m > 0) { Key[i] -= m; } } Console.ReadLine(); Console.Write("\n\nYour private key : "); for (int i = 0; i < Key.Length; i++) { Console.Write(Key[i] + " "); } string[] Bin = new string[ptext.Length]; int[] Cipher = new int[ptext.Length]; for (i = 0; i < Bin.Length; i++) { Bin[i] = Convert.ToString(Convert.ToChar(ptext[i]) - 97, 2); } while (h < Bin.Length) { c = 11; for (int i = Bin[h].ToArray().Length - 1; i > -1; i--) { Cipher[h] += Convert.ToInt32(Convert.ToString(Bin[h].ToArray()[i])) * Key[c]; if (c > 1) { c--; }; } h++; } Console.ReadLine(); Console.Write("\nYour ciphertext : "); for (int y = 0; y < Cipher.Length; y++) { Console.Write(Cipher[y] + " "); } } public void Decipher() { while (n_inv != 1) { n_inv = n * n_inv; while (bufr - m > 0) { bufr -= m; } n_inv++; } Console.WriteLine("\n" + n_inv); } } } Результат роботи програми 
Антиботан аватар за замовчуванням

31.05.2014 14:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини